如何高效地计算 sin(x) 与 cos(x) 的值?

您所在的位置:网站首页 cos 的值 如何高效地计算 sin(x) 与 cos(x) 的值?

如何高效地计算 sin(x) 与 cos(x) 的值?

2022-12-26 21:25| 来源: 网络整理| 查看: 265

有比泰勒级数更好的做法,简单来讲,sin(x)是函数空间中的一个矢量,然后5次多项式构成的空间是函数空间的一个子空间,sin(x)在五次多项式空间上的正交投影就是对sin(x)的最佳五次多项式逼近,这个近似在整个周期内的精度都非常高。这个五次多项式的表达式是

y = 0.987862x - 0.155271x^3 + 0.00564312x^5

具体内容见《线性代数应该怎么学》第六章。

--------------------

为了方便大家,具体步骤列在下面

求sin(x)的逼近等价于求使如下积分最小的函数f(x)

\int_{-\pi}^{\pi}|\sin(x)-f(x)|^2dx

为了找到这样的f(x)可定义如下内积

=\int_{-\pi}^{\pi}f(x)g(x)dx

令u=\sin(x),U为次数不超过五的实系数多项式组成的子空间,那么问题重述为找到u\in U

使得||u-v||最小,由正交投影的性质可知,当u=P_Uv时该值最小。为了求得正交投影P_Uv,首先需要知道U的一组规范正交基,对U的基(1,x,x^2,x^3,x^4,x^5)进行格拉姆-施密特正交化过程可得规范正交基为

(e_1,e_2,e_3,e_4,e_5,e_6)=(\frac{1}{\sqrt{2\pi}}, \\\frac{\sqrt{\frac{3}{2}}x}{\pi^{3/2}}, \\ -\frac{\sqrt{\frac{5}{2}}(\pi^2-3x^2)}{2\pi^{5/2}}, \\\frac{\sqrt{\frac{7}{2}}(3\pi^2x-5x^3)}{2\pi^{7/2}}, \\\frac{3(3\pi^4-30\pi^2x^2+35x^4)}{8\sqrt{2}\pi^{9/2}}, \\-\frac{\sqrt\frac{11}{2}(15\pi^4x-70\pi^2x^3+63x^5)}{8\pi^{11/2}})

最后,可求得

P_Uv & = &e_1+e_2+e_3+e_4+e_5+e_6 \\&=& \frac{105(1485-153\pi^2+\pi^4)}{8\pi^6}x - \frac{315(1155-125\pi^2+\pi^4)}{4\pi^8}x^3+\frac{693(945-105\pi^2+\pi^4)}{8\pi^{10}}x^5

即为所求得得多项式近似,为了直观地比较近似地精度,现将sin(x)和所求得的近似绘于同一图中

其中蓝色曲线是sin(x),红色曲线是近似多项式,可以观察到二者几乎完全重合。为了和泰勒级数的精度作比较,现将泰勒级数所得的结果也绘于图中,可以观察到在靠近\pi和-\pi的地方结果已经完全偏离了。

如果只需要在半个周期内作近似的话,求正交投影这种方法的精度还会更高。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3